Compiling APL to Accelerate Through a Typed IL
نویسنده
چکیده
APL is a functional array programming language from the 1960’s. While APL no longer has widespread adoption as a general programming language, there still exist large codebases in APL in the industry. Accelerate is an array language embedded in Haskell for doing high-performance computation on GPU’s. In this report I present a compiler written in Haskell for compiling a typed intermediate array language (TAIL), as produced by the APL compiler by Elsman [2], to Haskell programs using the Accelerate library that can be run on GPU’s by using the backends available for Accelerate.
منابع مشابه
Type-Directed Specialization of Polymorphism
Flexibility of programming and efficiency of program execution are two important features of a programming language. Unfortunately, however, these two features conflict each other in design and implementation of a modern statically typed programming language. Flexibility is achieved by high-degree of polymorphism, which is based on generic primitives in an abstract model of computation, while e...
متن کاملType System for Specializing Polymorphism
Flexibility of programming and efficiency of program execution are two important features of a programming language. Unfortunately, however, there is an inherent conflict between these features in design and implementation of a modern statically typed programming language. Flexibility is achieved by high-degree of polymorphism, which is based on generic primitives in an abstract model of comput...
متن کاملCompiling APL: The Yorktown APL Translator
The Yorktown APL Translator (YAT) permits functions written in APL to be compiled using an existing compiler for part of the process. It also creates tables that allow the APL2 Release 2 interpreter to call the compiled code. The code can also be called from a Fortran main routine. This paper outlines the history of APL compilation, the motivation for producing YAT, the design choices that were...
متن کامل